package ltd.bugs.cute.api.http.statuscode;

/**
 * 通用http状态码定义
 * 
 * @author zhengzhq
 *
 */
public enum CommonStatusCode implements StatusCode {

  /** 只要是正常的返回（不包含业务异常），都应当是200 */
  SUCCESS(200, "处理成功"),

  /** 通知全局拦截器需要重定向 */
  REDIRECT(302, "重定向"),

  /** 请求未带认证信息的时候会返回code=401 */
  UNAUTHORIZED(401, "未授权"),

  /** 不支持的HTTP方法，比如支持POST却使用GET */
  NOT_SUPPORT_METHOD(405, "不支持的HTTP方法"),

  /** 内部服务出错，这种一般是在程序处理不到位的情况下出的状况 */
  INTERNAL_SERVER_ERROR(500, "服务繁忙，请稍后重试或联系管理员");

  private int code;
  private String message;

  private CommonStatusCode(int code, String message) {
    this.code = code;
    this.message = message;
  }

  public int code() {
    return code;
  }

  public String message() {
    return message;
  }
}
